package main

import (
	"fmt"
	"runtime"
)

func main() {
	// 设定以多少个内核还运行，返回当前默认的内核数
	n := runtime.GOMAXPROCS(1)
	fmt.Println("内核数：", n)
	go func() {
		for i := 0; i < 5; i++ {
			fmt.Println("go")
			//退出当前协程
			runtime.Goexit()
		}
	}()
	// 默认先执行主协程的代码，子协程来不及执行
	for i := 0; i < 2; i++ {
		runtime.Gosched() // 让出时间片，先让别的协程执行，等它执行完，再回来执行此协程
		fmt.Println("hello ")
	}

}
